home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Utilities / Workspace / Locus / Source / GroupBrowser.h < prev    next >
Text File  |  1995-06-12  |  2KB  |  117 lines

  1.  
  2. /*
  3.     Copyright 1993  Jeremy Slade.
  4.  
  5.     You are free to use all or any parts of the Locus project
  6.     however you wish, just give credit where credit is due.
  7.     The author (Jeremy Slade) shall not be held responsible
  8.     for any damages that result out of use or misuse of any
  9.     part of this project.
  10.  
  11. */
  12.  
  13. /*
  14.  
  15.     Project: Locus
  16.     
  17.     Class: GroupBrowser
  18.     
  19.     Description:
  20.  
  21.     Original Author: Jeremy Slade
  22.     
  23.     Revision History:
  24.         Created
  25.             V.101    JSG Wed Feb  3 23:53:15 GMT-0700 1993
  26.             
  27. */
  28.  
  29.  
  30. #ifndef GroupBrowser_h
  31. #define GroupBrowser_h
  32.  
  33. #define GroupBrowser_VERSION    (101)
  34.  
  35.  
  36. #import <appkit/ScrollView.h>
  37.  
  38.  
  39. @interface GroupBrowser : ScrollView
  40. {
  41.     id    matrix;
  42.     id    delegate;
  43.  
  44.     id    target;
  45.     SEL    action;
  46.     SEL    doubleAction;
  47.     
  48.     BOOL allowMultiSel;
  49.     
  50.     int selectKey;
  51.     long lastTime;
  52.     char selectFile[11];
  53. }
  54.  
  55. // Creating, initializing methods
  56. - free;
  57. + initialize;
  58. - initFrame:(const NXRect *)frameRect;
  59.  
  60. // Setting the group that is displayed
  61. - showGroup:group;
  62.  
  63. // Drawing
  64. - resizeSubviews:(const NXSize *)oldSize;
  65.  
  66. // Setting the delegate
  67. - delegate;
  68. - setDelegate:anObject;
  69.  
  70. // Setting behavior
  71. - (BOOL)acceptsFirstMouse;
  72. - allowMultiSel:(BOOL)flag;
  73. - (BOOL)doesAllowMultiSel;
  74. - setEnabled:(BOOL)flag;
  75. - (BOOL)isEnabled;
  76.  
  77. // Setting target and action
  78. - setTarget:anObject;
  79. - setAction:(SEL)selector;
  80. - setDoubleAction:(SEL)selector;
  81. - target;
  82. - (SEL)action;
  83. - (SEL)doubleAction;
  84. - doAction:sender;
  85. - doDoubleAction:sender;
  86.  
  87. // Making selections
  88. - selectAll:sender;
  89. - selectUp:sender;
  90. - selectDown:sender;
  91. - selectedCell;
  92. - selection;
  93. - selectionList;
  94. - (int)selectionCount;
  95. - selectKey:(unsigned int)charCode time:(long)time;
  96. - selectRow:(unsigned int)row;
  97. - scrollRowToVisible:(unsigned int)row;
  98. - scrollToSelection;
  99.  
  100. // NXDraggingDestination Protocol
  101. - (NXDragOperation)draggingEntered:(id <NXDraggingInfo>)sender;
  102. - (NXDragOperation)draggingUpdated:(id <NXDraggingInfo>)sender;
  103. - draggingExited:(id <NXDraggingInfo>)sender;
  104. - (BOOL)prepareForDragOperation:(id <NXDraggingInfo>)sender;
  105. - (BOOL)performDragOperation:(id <NXDraggingInfo>)sender;
  106. - concludeDragOperation:(id <NXDraggingInfo>)sender;
  107.  
  108. @end
  109.  
  110.  
  111. @interface Object (GroupBrowserDelegate)
  112. - browserSelectionChanged:sender;
  113. @end
  114.  
  115.  
  116. #endif // GroupBrowser_h
  117.